package cn.amao.pujintest2.operation;

import org.openqa.selenium.By;

import cn.amao.pujintest2.base.OperateAppium;
import cn.amao.pujintest2.pages.LoginPage;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;

public class LoginOperate extends OperateAppium {
    private LoginPage loginPage;

    AndroidDriver driver;

    public LoginOperate(AndroidDriver driver) {
        super(driver);
        loginPage = new LoginPage(driver);
        this.driver = driver;
    }

    /**
     * 传递帐号密码
     *
     * @param name 帐号
     * @param pass 密码
     * @return 是否成功登录到主页
     */
    public boolean login(String name, String pass) {

        sleep(1000);
        //在欢迎界面
        if (getCurrActivity().equals(loginPage.getSplashActivityName())) {
            print("进入欢迎页面");
            AndroidElement al = waitAutoById(LoginPage.getSplahJumpViewId(), 10);
            if (al != null) {
                al.click();
            }
        } else if (getCurrActivity().equals(loginPage.getLoginActivityName())) {
            print("进入登录页面");

        }
//        else {//自动登录了就输出成功，返回
//            print("在首页了，自动登录了，退出了");
//            return true;
//        }
             else {//自动登录了就输出成功，返回
            print("在首页了，自动登录了，注销重新登录");
            print("点击用户中心");
            AndroidElement elementUser = waitAutoById("menu_item_user");
            elementUser.click();
            print("点击切换账号");
            AndroidElement elementLogout = waitAutoById("tv_exit");
            elementLogout.click();
            print("点击退出");
            AndroidElement elementQuit = waitAutoByName("退出");
            elementQuit.click();
            waitAutoById("btn_login");
            print("进入登录页了");
        }

        //输入内容
        inputManyText(name, pass);

        //点击登录
        clickView(loginPage.getLoginButton());

        //等待到首页
        waitAutoById(loginPage.getHomeTabActivityElementId());

        //返回是否成功到主页
        return loginPage.getHomeTabflag();
    }

}
